
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<html>
    <head>
        <meta charset="utf-8">
        <title>calendar</title>
        <meta name="viewport" content="width=device-width, initial-scale=1" />
        <link rel="stylesheet" href="lib/reset.css">
        <script src="lib/simpleRequire.js"></script>
        <script src="lib/config.js"></script>
        <script src="lib/jquery.min.js"></script>
    </head>
    <body>
        <style>
            html, body, #main {
                width: 100%;
                height: 100%;
            }
        </style>
        <div id="main"></div>
        <script>


            var getVirtulData =  function(year) {

                year = year || '2017';

                var datas = [];

                var arr31 = [1, 3, 5, 7, 8, 10, 12];
                var arr30 = [4, 6, 9, 11];
                for (var i = 1; i <= 31; i++) {
                    for (var j = arr31.length - 1; j >= 0; j--) {
                        datas.push([year + '-' + arr31[j] + '-' + i, Math.floor(Math.random() * 1000)]);
                    }
                }
                for (var i = 1; i <= 30; i++) {
                    for (var j = arr30.length - 1; j >= 0; j--) {
                        datas.push([year + '-' + arr30[j] + '-' + i, Math.floor(Math.random() * 1000)]);
                    }
                }
                for (var i = 1; i <= 29; i++) {
                    datas.push([year + '-2-' + i, Math.floor(Math.random() * 1000)]);
                }
                return datas;
            }

            var graphData = [
                [
                    1485878400000,
                    260
                ],
                [
                    1486137600000,
                    200
                ],
                [
                    1486569600000,
                    279
                ],
                [
                    1486915200000,
                    847
                ],
                [
                    1487347200000,
                    241
                ],
                [
                    1487779200000,
                    411
                ],
                [
                    1488124800000,
                    985
                ]
            ];

            var links = graphData.map(function (item, idx) {
                return {
                    source: idx,
                    target: idx + 1
                };
            });
            links.pop();
            require(['echarts'], function (echarts) {

                var chart = echarts.init(document.getElementById('main'));

                chart.setOption({
                    tooltip: {
                        position: 'top'
                    },
                    visualMap: {
                        min: 0,
                        max: 1000,
                        calculable: true,
                        orient: 'horizontal',
                        left: 'center',
                        top: 650
                    },
                    calendar: [
                    {
                        orient: 'vertical',
                        range: '2000-01-01'
                    },
                    {
                        cellSize: 35,
                        left: 300,
                        orient: 'vertical',
                        range: ['2001-02-20', '2001-02-23']
                    },
                    {
                        left: 600,
                        cellSize: 30,
                        orient: 'vertical',
                        range: '2017-02'
                    },
                    {
                        left: 900,
                        orient: 'vertical',
                        range: ['2001-02-20', '2001-04-23']
                    },
                    {
                        top: 300,
                        orient: 'horizontal',
                        range: ['2001-02-12', '2001-04-23']
                    },
                    {
                        top: 300,
                        left: 400,
                        orient: 'horizontal',
                        range: ['2009-12-20', '2010-04-23']
                    },
                    {
                        top: 300,
                        left: 820,
                        orient: 'horizontal',
                        range: '2010-02-09'
                    },
                    {
                        top: 300,
                        left: 910,
                        orient: 'horizontal',
                        range: ['2010-02-07', '2010-02-11']
                    },
                    {
                        top: 300,
                        left: 1000,
                        orient: 'horizontal',
                        range: ['2010-02-11', '2010-02-13']
                    },
                    {
                        top: 300,
                        left: 1100,
                        orient: 'horizontal',
                        range: ['2010-02-11', '2010-02-14']
                    },

                    {
                        top: 300,
                        left: 1200,
                        orient: 'horizontal',
                        range: ['2010-02-11', '2010-02-16']
                    },
                    {
                        top: 500,
                        orient: 'horizontal',
                        range: [2010]
                    }],

                    series: [{
                        type: 'heatmap',
                        coordinateSystem: 'calendar',
                        calendarIndex: 0,
                        data: getVirtulData(2000)
                    }, {
                        type: 'heatmap',
                        coordinateSystem: 'calendar',
                        calendarIndex: 1,
                        data: getVirtulData(2001)
                    }, {
                        type: 'graph',
                        coordinateSystem: 'calendar',
                        calendarIndex: 2,
                        edgeSymbol: ['none', 'arrow'],
                        links: links,
                        symbolSize: 10,
                        data: graphData
                    }, {
                        type: 'scatter',
                        coordinateSystem: 'calendar',
                        calendarIndex: 3,
                        symbolSize: function (val) {
                            return val[1] / 70;
                        },
                        data: getVirtulData(2001)
                    }, {
                        type: 'heatmap',
                        coordinateSystem: 'calendar',
                        calendarIndex: 4,
                        data: getVirtulData(2001)
                    }, {
                        type: 'heatmap',
                        coordinateSystem: 'calendar',
                        calendarIndex: 5,
                        data: getVirtulData(2010)
                    }, {
                        type: 'heatmap',
                        coordinateSystem: 'calendar',
                        calendarIndex: 6,
                        data: getVirtulData(2010)
                    }, {
                        type: 'heatmap',
                        coordinateSystem: 'calendar',
                        calendarIndex: 7,
                        data: getVirtulData(2010)
                    }, {
                        type: 'heatmap',
                        coordinateSystem: 'calendar',
                        calendarIndex: 8,
                        data: getVirtulData(2010)
                    }, {
                        type: 'heatmap',
                        coordinateSystem: 'calendar',
                        calendarIndex: 9,
                        data: getVirtulData(2010)
                    }, {
                        type: 'heatmap',
                        coordinateSystem: 'calendar',
                        calendarIndex: 10,
                        data: getVirtulData(2010)
                    }, {
                        type: 'heatmap',
                        coordinateSystem: 'calendar',
                        calendarIndex: 11,
                        data: getVirtulData(2010)
                    }]
                });

                $(window).resize(function() {
                    chart.resize();
                });
            });
        </script>
    </body>
</html>
